Such languages often incorporate mechanisms to make these tasks easier while retaining the purely functional quality of the language, such as definite clause grammars and monads.
2.
For Prolog programmers, Logtalk provides wide portability, featuring predicate namespaces ( supporting both static and dynamic objects ), public / protected / private object predicates, definite clause grammars, term-expansion mechanism, and conditional compilation.